
using System.IO;
using Pangoo.Common;
using Sirenix.OdinInspector;

namespace MetaTable
{
    public partial class MetaTableConfig
    {
        const string MetaTableName = "MetaTable";

        [ShowInInspector]
        public string ScriptMetaDir
        {
            get
            {
                return Path.Join(PackageDir, ScriptDir).ToPath();
            }
        }

        public string EditorMetaDir
        {
            get
            {
                return Path.Join(PackageDir, EditorDir).ToPath();
            }
        }

        [ShowInInspector]
        public string ScriptGenerateDir
        {
            get
            {
                return Path.Join(ScriptMetaDir, MetaTableName, "Generate").ToPath();
            }
        }

        [ShowInInspector]
        public string ScriptDataDir
        {
            get
            {
                return Path.Join(ScriptMetaDir, MetaTableName, "Data").ToPath();
            }
        }

        [ShowInInspector]
        public string ScriptDataGenerateDir
        {
            get
            {
                return Path.Join(ScriptDataDir, "Generate").ToPath();
            }
        }


        [ShowInInspector]
        public string EditorCustomDir
        {
            get
            {
                return Path.Join(EditorMetaDir, MetaTableName, "Custom").ToPath();
            }
        }

        [ShowInInspector]
        public string ScriptCustomDir
        {
            get
            {
                return Path.Join(ScriptMetaDir, MetaTableName, "Custom").ToPath();
            }
        }

        [ShowInInspector]
        public string ScriptDataCustomDir
        {
            get
            {
                return Path.Join(ScriptDataDir, "Custom").ToPath();
            }
        }

        public string ScriptInterfaceDir
        {
            get
            {
                return Path.Join(ScriptMetaDir, InterfaceDir).ToPath();
            }
        }


        [ShowInInspector]
        public string StreamResMetaDir
        {
            get
            {
                return Path.Join(PackageDir, StreamResDir, MetaTableName).ToPath();
            }
        }

        [ShowInInspector]
        public string StreamResExcelDir
        {
            get
            {
                return Path.Join(StreamResMetaDir, "Excel").ToPath();
            }
        }


        [ShowInInspector]
        public string StreamResScriptableObjectDir
        {
            get
            {
                return Path.Join(StreamResMetaDir, "ScriptableObject").ToPath();
            }
        }

        [ShowInInspector]
        public string StreamResConfigDir
        {
            get
            {
                return Path.Join(PackageDir, StreamResDir, "Configs").ToPath();
            }
        }

        public string ConfigFilePath
        {
            get
            {
                return Path.Join(StreamResConfigDir, "MetaTableConfig.asset").ToPath();
            }
        }
    }
}

